home *** CD-ROM | disk | FTP | other *** search
- PPPoE Support
- -------------
-
- Michal Ostrowski
- 8 August 2001
-
- for ppp-2.4.2
-
- 1. Introduction
- ---------------
-
- This document describes the support for PPP over Ethernet (PPPoE)
- included with this packages. It is assumed that the reader is
- familiar with Linux PPP (as it pertains to tty/modem-based
- connections). In particular, users of PPP in the Linux 2.2 series
- kernels should ensure they are familiar with the changes to the PPP
- implementation in the 2.4 series kernels before attempting to use
- PPPoE features.
-
- If you are not familiar with PPP, I recommend looking at other
- packages which include end-user configuration tools, such as Roaring
- Penguin (http://www.roaringpenguin.com/pppoe)
-
- PPPoE is a protocol typically used by *DSL providers to manage IP
- addresses and authenticate users. Essentially, PPPoE provides for a
- PPP connection to be established not over a physical serial-line or
- modem, but over a logical connection between two unique MAC-addresses
- on an ethernet network. Once the PPPoE layer discovers the end-points
- to be used in the link and negotiates it, frames may be sent to and
- received from the PPPoE layer just as if the link was a serial line
- (or that is how it's supposed to be).
-
- With this in mind, the goal of the implementation of PPPoE support in
- Linux is to allow users to simply specify that the device they intend
- to use for the PPP connection is an ethernet device (e.g. "eth0") and
- the rest of the system should function as usual.
-
- 2. Using PPPoE
- --------------
-
- This section is a quick guide for getting PPPoE working, to allow one
- to connect to their ISP who is providing PPPoE based services.
-
- 1. Enable "Prompt for development and/or incomplete code/drivers" and
- "PPP over Ethernet" in your kernel configuration. If you choose to
- use the PPP over Ethernet driver as a module adding "alias
- net-pf-24 pppoe" to /etc/modules.conf will enable auto-loading
- of the modules.
-
- 2. Compile and install your kernel.
-
- 3. Install the ppp package.
-
- 4. Add the following line to /etc/ppp/options:
-
- plugin rp-pppoe.so
-
- The effect of this line is simply to make "eth0", "eth1",
- ....,"ethx" all valid device names for pppd (just like ttyS0,
- ttyS1).
-
- 5. Add the necessary authentication options to your pppd
- configuration (i.e. PAP/CHAP information). If you wish to
- maintain seperate configurations for different devices you may
- place configuration options in device-specific configuration
- files: /etc/ppp/options.devname (devname=ttyS0, ttyS1, eth0, eth1
- or any other valid device name).
-
- 6. Invoke pppd with the appropriate device name: e.g. "pppd eth0"
-
-
- Do not include any compression or flow control options in your PPPoE
- configuration. They will be ignored.
-
- Again, here it is assumed that the reader is familiar with the general
- process of configuring PPP. The steps outlined here refer only to the
- steps and configuration options which are PPPoE specific, and it is
- assumed that the reader will also configure other aspects of the system
- (e.g. PAP authentication parameters).
-
- 3. Advanced Functionality
- --------------------------
-
- For more advanced functionality (such as providing PPPoE services) and
- user configuration tools, look to the Roaring Penguin PPPoE software
- package (http://www.roaringpenguin.com/pppoe).
-
- 4. Credits
- -----------
-
- The PPPoE plugin included in this package is a component of the
- Roaring Penguin PPPoE package, included in this package courtesy of
- Roaring Penguin Software. (http://www.roaringpenguin.com).
-
- 5. Hints
- --------
-
- - For setting up the connection and debugging problems if it does not
- work at once, the userspace PPPoE implementation is more useful, as
- the kernel module does not help with access concentrator problems.
-
- - If your machine acts as a gateway for other machines, a line like
- iptables -A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -j
- TCPMSS --clamp-mss-to-pmtu in your firewall configuration and reading
- the iptables man-page might help.
-